Add Docker setup for frontend, backend & MongoDB#625
Merged
Renu-code123 merged 1 commit intoRenu-code123:mainfrom Feb 11, 2026
Merged
Add Docker setup for frontend, backend & MongoDB#625Renu-code123 merged 1 commit intoRenu-code123:mainfrom
Renu-code123 merged 1 commit intoRenu-code123:mainfrom
Conversation
Introduce containerization: add .dockerignore, client and server Dockerfiles, and an Nginx config for the frontend. Replace the previous single-service compose with a docker-compose defining frontend (Nginx), backend (Node.js) and mongo services, add a mongo data volume, environment variables and env_file for the backend, and set restart policies. Port mappings: frontend 3000:80, backend 3001:3000. Nginx proxies /api and /socket.io to the backend and applies basic security headers/CSP. Also adjust compose version to 3.8 to support the layout.
🎉 Thanks for the PR, @rishabh0510rishabh!We really appreciate you taking the time to contribute to ExpenseFlow! 💙 ⭐ Love this project?Please give us a star! It helps the project grow and reach more developers! 🌟 🔗 https://github.com/Renu-code123/ExpenseFlow ✅ PR ChecklistBefore we review, please ensure:
🙌 Thank You for Contributing!We truly appreciate your interest in contributing to this project.
We'll review your PR as soon as possible. Keep up the great work! ✨ |
|
@rishabh0510rishabh is attempting to deploy a commit to the Renu's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dockerize MERN Stack Environment
Description
This PR introduces a fully containerized development environment using Docker Compose, replacing the manual setup of Node.js and MongoDB. It separates the frontend and backend into distinct services to simulate a production-like architecture (Nginx for static files, Node.js for API).
Changes
server/Dockerfileto containerize the Node.js/Express application.client/Dockerfileandclient/nginx.confto serve static assets via Nginx.docker-compose.ymlto streamline the startup of Frontend, Backend, and MongoDB..dockerignoreand a default.env(derived from.env.example).Verification
The following verification steps were performed via static analysis (due to local Docker environment constraints):
nginx.confhandles static files and proxies/apiand/socket.iorequests to the backend.server.js(Helmet) intonginx.confto ensure no security regression.public/.How to Run
docker-compose up --buildhttp://localhost:3000http://localhost:3000/apimongodb://localhost:27017Checklist
Label: ECWoC26
Related issue: #577